from typing import List
from pydantic import BaseModel, Field
# 防风固沙生态系统详细信息
class WindBreakInfoDetail(BaseModel):
    # 生态系统名称
    ecosystem_name: str = Field(..., description="生态系统名称")
    # 生态系统面积
    ecosystem_area: float = Field(..., description="生态系统面积，单位：平方千米")
    # 气候侵蚀因子
    climate_erosion_factor: float = Field(..., description="气候侵蚀因子，单位：kg/m²")
    # 土壤侵蚀因子
    soil_erosion_factor: float = Field(..., description="土壤侵蚀因子，单位：t·hm²·h/(hm³·MJ·mm)")
    # 土壤结皮因子
    soil_crust_factor: float = Field(..., description="土壤结皮因子，单位：无")
    # 地表粗度因子
    surface_roughness_factor: float = Field(..., description="地表粗度因子，单位：无")
    # 植被覆盖因子
    vegetation_cover_factor: float = Field(..., description="植被覆盖因子，单位：无")
    # 土壤容重
    soil_density: float = Field(..., description="土壤容重，单位：t/m³")
    # 土壤沙化覆盖厚度
    soil_sand_cover_thickness: float = Field(..., description="土壤沙化覆盖厚度，单位：m")
    # 单位治沙成本或单位植被恢复成本
    unit_cost: float = Field(..., description="单位治沙成本或单位植被恢复成本，单位：元/m²")

# 防风固沙信息列表
class WindBreakInfo(BaseModel):
    # 防风固沙生态系统信息列表
    wind_break_info_list: List[WindBreakInfoDetail]

